import { RMIObject } from "../../Engine/RMI/RMIObject";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { DictIntStrHelper } from "../Public/DictIntStrHelper";
import { Exception } from "../../Framework/Util/Exception";
type int = number;
//class AMI_IMount_mountStarsCulture
    
    export  class AMI_IMount_mountStarsCulture extends RMIObject
    {
        constructor(arg1?: Function, arg2?: Function, arg3?: any)
        {
            super(arg1, arg2);
            this.userObject = arg3;
            this.callFunction = "mountStarsCulture";
            return;
        }

        public /* override */ __response(arg1: SerializeStream): void
        {
            var __is: SerializeStream;
            var processDict: Map<any, any> /* flash.utils.Dictionary */;
            var result: Boolean;
            var uid: string;
            var materialAmount: int;
            var gold: int;
            var coinBind: int;
            var needOpenNextStars: Boolean;
            var resultAttAndColor: string;

            var loc1;
            processDict = null;
            result = false;
            uid = null;
            materialAmount = 0;
            gold = 0;
            coinBind = 0;
            needOpenNextStars = false;
            resultAttAndColor = null;
            __is = arg1;
            try 
            {
                processDict = DictIntStrHelper.read(__is);
                result = __is.readBool();
                uid = __is.readString();
                materialAmount = __is.readInt();
                gold = __is.readInt();
                coinBind = __is.readInt();
                needOpenNextStars = __is.readBool();
                resultAttAndColor = __is.readString();
            }
            catch (__ex)
            {
                this.cdeException(new Exception("ExceptionCodeSerialize", Exception.ExceptionCodeSerialize));
                return;
            }
            this.cdeResponse(processDict, result, uid, materialAmount, gold, coinBind, needOpenNextStars, resultAttAndColor);
            return;
        }

        public cdeResponse(arg1: Map<any, any> /* flash.utils.Dictionary */, arg2: Boolean, arg3: string, arg4: int, arg5: int, arg6: int, arg7: Boolean, arg8: string): void
        {
            if (this._response)  
            {
                this._response.call(null, this, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
            }
            return;
        }
    }
